/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package cep.classes;

import java.util.ArrayList;
import java.util.List;
import javax.swing.table.AbstractTableModel;

/**
 *
 * @author Acer
 */
public class CepTableModel extends AbstractTableModel {

    private List<Cep> listaCeps;
    private String[] colunas ={"Tipo", "Logradouro", "CEP", "Bairro", "Cidade", "UF"};

    public CepTableModel(List<Cep> listaCeps) {
        this.listaCeps = listaCeps;
    }

    public CepTableModel() {
        listaCeps = new ArrayList<Cep>();
    }

    public int getRowCount() {
        return listaCeps.size();
    }

    public int getColumnCount() {
        return colunas.length;
    }

    public Object getValueAt(int rowIndex, int columnIndex) {
         Cep cep = listaCeps.get(rowIndex);
         if (columnIndex==0){
             return cep.getTipoLogradouro();
         }else if (columnIndex==1){
             return cep.getLogradouro();
         }else if (columnIndex==2){
             return cep.getNumeroCep();
         }else if (columnIndex==3){
             return cep.getBairro();
         }else if (columnIndex==4){
             return cep.getCidade();
         } else return cep.getEstado();
    }

    public  void adicionar(Cep cep){
        listaCeps.add(cep);
    }

    public void adicionar(List<Cep> ceps){
        listaCeps.addAll(ceps);
    }

    @Override
    public String getColumnName(int column) {
        return colunas[column];
    }

    @Override
    public Class<?> getColumnClass(int columnIndex) {
        if (columnIndex==0){
             return String.class;
         }else if (columnIndex==1){
             return String.class;
         }else if (columnIndex==2){
             return String.class;
         }else if (columnIndex==3){
             return String.class;
         }else if (columnIndex==4){
             return String.class;
         }else return String.class;
    }

    public Cep getCep(int linha){
        return  listaCeps.get(linha);
    }


}
